import pandas as pd
import matplotlib.pyplot as plt

# 读取Excel文件
file_path = 'd:\\Users\\Administrator\\Desktop\\git\\数据\\FhjlViewDD.xlsx'
data = pd.read_excel(file_path)

# 检查数据列名
print("可用列名:", data.columns.tolist())

# 配置列名（根据实际数据调整）
date_col = '创建时间'
customer_col = '客户'
weight_col = '净重'

# 筛选6月数据
if all(col in data.columns for col in [date_col, customer_col, weight_col]):
    # 转换日期
    data[date_col] = pd.to_datetime(data[date_col])
    
    # 筛选6月数据
    june_data = data[data[date_col].dt.month == 6]
    
    # 按客户统计货运量并排序
    customer_stats = june_data.groupby(customer_col)[weight_col].sum().sort_values(ascending=False)
    
    # 打印结果
    print("\n6月各客户货运需求量排名:")
    print(customer_stats)
    
    # 绘制柱状图
    plt.figure(figsize=(12, 6))
    ax = customer_stats.plot(kind='bar')
    
    # 设置中文字体
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    # 设置图表标题和标签
    plt.title('6月各客户货运需求量排名（吨）', fontsize=14)
    plt.xlabel('客户', fontsize=12)
    plt.ylabel('货运量（吨）', fontsize=12)
    
    # 调整x轴标签
    ax.set_xticklabels(ax.get_xticklabels(), rotation=45, ha='right')
    
    # 保存图表
    plt.tight_layout()
    plt.savefig('june_customer_freight_ranking.png')
    plt.show()
else:
    print("错误：缺少必要的数据列，请检查列名配置")
    print("当前配置:", {
        '日期列': date_col,
        '客户列': customer_col,
        '重量列': weight_col
    })
    print("可用列名:", data.columns.tolist())